export default class Regexps {
    constructor() {}
    // 正则都是抄的 有什么问题请修正
    /***
     * 手机号码正则表达式
     */
    static mobile = /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/
    /***
     * 座机正则表达式
     */
    static telephone = /^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$|(^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$)/

    /**
     * 手机和固定座机
     * */
    static mobilephone = /^((0\d{2,3}-\d{7,8})|(1[35847]\d{9}))$/

    /*** 用户名正则
     * 1.可以是中英文和·
     * 2.长度在16个字符以内
     */
    static realName = /^[\u4E00-\u9FA5A-Za-z\s]+(·[\u4E00-\u9FA5A-Za-z]+)*$/
    /*** 登陆账户正则
     *  4到16位（字母，数字，下划线，减号）
     */
    static userName = /^[a-zA-Z0-9_-]{4,16}$/
    /*** 登陆密码正则
     * 1.长度为5-16位至少1个字母，1个数字和1个特殊字符
     */
    static password = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{5,16}$/
    /***主体帐号
     * */
    static accounts = /^[A-Za-z0-9](\d+){7}$/
    /**
     * 任意数正则:整数或小数
     */
    static number = /^(\-|\+)?\d+(\.\d+)?$/
    /***
     *正整数
     */
    static positiveInteger = /^[1-9]\d*$/
    /***
     *自然数（正整数或者0）， 比如人数或者面积
     */
    static positiveInteger0 = /^[+]{0,1}(\d+)$/
    /***
     * 整数
     */
    static integerNumber = /^-?[0-9]\d*$/
    /**
     * 正数正则
     */
    static positiveNumber = /^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/
    /**
     * 浮点数
     */
    static floatNumber = /^(-?\\d+)(\\.\\d+)?$/
    /**
     * ip地址正则
     */
    static ip = /(2(5[0-5]{1}|[0-4]\d{1})|[0-1]?\d{1,2})(\.(2(5[0-5]{1}|[0-4]\d{1})|[0-1]?\d{1,2})){3}/g

    /**
     * 汉字
     */
    static chinese = /[\u4e00-\u9fa5]/m

    /**
     * 经度
     */
    static longitude = /^(\-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,6})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,6}|180)$/

    /**
     * 纬度
     */
    static latitude = /^(\-|\+)?([0-8]?\d{1}\.\d{0,6}|90\.0{0,6}|[0-8]?\d{1}|90)$/

    /**
     * 特殊符号   static specialSymbols = /[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~！@#￥%&*（）\-+={}|《》？：“”【】、；‘’，。、]/im;
     * */
    static specialSymbols = /[`~!@#$%^&*()\+=<>?:"{}|,.\/;'\\[\]·~！@#￥%&*（）\+={}|《》？：“”【】、；‘’，。、]/im
    /**
     * 日期
     * */
    static checkDate = /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29))$/
    /**
     * IP地址
     */
    static checkIP = /^((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}$/

    /**
     * 端口号
     */
    static checkPort = /^([0-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-4]\d{4}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/

    /**
     * 正负2位小数
     */
    static twoDecimal = /^[+-]?([0-9]+(\.[0-9]{1,2})?)$/
    /**
     * 数字
     */
    // static number=/^[0-9]*$/
}
